from eval_lib.model.base import BaseStruct


class AgentMeta(BaseStruct):

    KEYS = ["agent_ip", "version", "ssh_port", "ssh_username", "ssh_password"]


class DFServerMeta(BaseStruct):

    KEYS = ["server_ip", "ssh_port", "ssh_username", "ssh_password", "control_port", "query_port"]

class DeployMeta(BaseStruct):

    KEYS = ["uuid", "instance_name", "type", "df_agent_image_tag", "df_server_image_tag", "amount"]
    
    def init(self, **kwargs):
        self.df_agent_image_tag = kwargs.get("df_agent_image_tag", "latest")
        self.df_server_image_tag = kwargs.get("df_server_image_tag", "latest")
        self.amount = kwargs.get("amount", 1)
        self.uuid = kwargs.get("uuid")
        self.instance_name = kwargs.get("instance_name")
        self.type = kwargs.get("type")
